/**
 @Documented 作用： 生成文档
 @target     作用： 确认使用类型
 @inherited  作用： 继承是否可用
 @retention  作用： 1.source  2.class 3.runtime  3个阶段


 */


package 第十六章_注解;

public class Testrun {
    public static void main(String[] args) {
        Class<Cat> catClass = Cat.class;
        MyAnnotation myannotation = catClass.getAnnotation(MyAnnotation.class);
        String name=myannotation.name();
        int age=myannotation.age();
        String [] info=myannotation.info();
        Color_enum color_enum=myannotation.color_enum();
        Cat cat = null;
        try {
            cat = catClass.newInstance();
            cat.setName(name);
            cat.setAge(age);
            cat.setInfo(info);
            cat.setColor_enum(color_enum);
        } catch (InstantiationException | IllegalAccessException e) {
            throw new RuntimeException(e);
        }
        System.out.println(cat.toString());

    }
}
